Position and proximity detection systems and methods

ABSTRACT

According to an aspect, a computing device may include a processor configured to determine a position coordinate of a first movable device. Further, the processor is configured to determine whether the position coordinate of the first movable device is a predetermined distance from a second movable device. The processor is also configured to signal the second movable device in response to determining that the position coordinate of the first movable device is a predetermined distance from a second movable device.

CROSS REFERENCE TO RELATED APPLICATIONS

This is a continuation of U.S. patent application Ser. No. 13/073,929(now U.S. Pat. No. 8,149,110), filed Mar. 28, 2011; which is acontinuation of U.S. patent application Ser. No. 12/179,078, (now U.S.Pat. No. 7,920,066), filed Jul. 24, 2008; which is a continuation ofU.S. patent application Ser. No. 11/196,041, (now U.S. Pat. No.7,786,876), filed Aug. 3, 2005; which is a continuation of U.S. patentapplication Ser. No. 10/035,937, (now U.S. Pat. No. 7,034,695), filedDec. 26, 2001, which claims the benefit of expired U.S. ProvisionalPatent Application No. 60/258,246, filed Dec. 26, 2000, the contents ofall of which are hereby incorporated by reference.

TECHNICAL FIELD

This invention relates to defining and detection of a 3-D boundary orvolume using (D)GPS (Global Positioning System) technology. Inparticular, it relates to an integrated instrument and method forinputting coordinates, processing these coordinates, and taking acorrective action with respect to the boundary.

BACKGROUND

The current practice and state of the art in the pet containmentindustry is to use radio waves to detect when a pet such as a dog hascome too close to a boundary. In these systems, it is required that thepet owners bury a wire around the perimeter of the boundary and connecta modulated signal generator to the wire loop. The pet then wears aspacial collar that detects the electromagnetic field emitted from thewire loop and administers a correction signal to the animal when itapproaches the boundary. The wire is buried around the perimeter of theyard, and the active zone of the collar can be adjusted by increasing ordecreasing the amplitude of the signal generator.

The collar usually contains a two axis pickup coil to detect themagnetic fields around the loop and the necessary electronics todiscriminate against noise and amplify and compare signals to produce ahigh voltage shock. Although these systems are not visible on theproperty and are less laborious to install than a standard post fence,there is still quite a lot of work involved in burying the wire loop.Furthermore, there is a maximum area which can be attained.

In the past, wireless systems have been developed to overcome theseproblems. For example, U.S. Pat. No. 5,381,129 to Boardman describes asystem that incorporates transmitting antennas installed on the propertyand a collar worn by the dog to process the antenna transmissions anddeliver an electrical shock when a dog advances to a boundary. However,the complexity and expense of these systems makes them undesirable.Furthermore, the spacial resolution is limited for precise boundarydiscrimination.

Prior attempts to produce a GPS based containment system have hadlimited success, primarily because of their approach. For instance, U.S.Pat. No. 6,271,757 to Touchton et al. describes a GPS containment systemfor pet containment. This system requires an external computer toperform all calculations and decision making. U.S. Pat. No. 6,271,757 isrelated to U.S. Pat. No. 6,043,747 and requires a separate portableprogramming transceiver to program the boundary of a selectedconfinement area. The programming transceiver must be moved along suchboundary during programming. This system requires a collar for wear bythe pet and a computer located at a remote base to process the necessarydata for the system. This system requires at least two GPS systems foroperation.

U.S. Pat. No. 6,271,757 describes a GPS based pet containment systemwhereby the user walks the perimeter with a separate transceiver, andthe transceiver simply transmits the coordinates to a Windows based PClocated at the house. The PC (Personal Computer) then stores theinformation in memory and contains software to map out the boundary ofthe containment area. Furthermore, the system includes a dog collar fortransmitting GPS coordinates to the PC, wherein the PC performs allcomputations and determines whether the dog has breached a safe zone. Ifthere has been a breach, then the PC issues a separate radio signal tothe dog collar, which activates a correction signal. Hence, in thissystem, the collar only relays information and all processing isperformed remotely. Thus, this system requires at least two GPS systems.The system includes a dog collar containing a GPS receiver and a radiolink for the coordinates, a portable programming transceiver with a GPSsystem including a radio link for the coordinates, a PC, a communicationdevice on the PC and satellite monitoring computer including a GPSsystem and modem. Furthermore, this invention is operable in only 2dimensions and all equipment must function in conjunction with theremote PC. To program the boundary, the transceiver requires theoperator to press buttons to add containment points, and it must beinformed which areas are safe and excluded. An added problem with thisinvention concerns multiple targets. In this embodiment, the controlstation must address all dogs, and the control station must compute,determine, and execute simultaneously to all dogs in an area throughsome addressable technique. This solution can be costly and complicated.

Another example, U.S. Pat. No. 6,868,100 to Marsh, requires a separateboundary definition transmitter to record data to a portable unit anddiscusses a fixed station for addressing the livestock. For livestockmanagement, all processing is performed at the external processor andonly simple area geometries are described.

The present invention features full duplex communication for inputtingcoordinates, as well as reporting information such as location, speed,medical parameters, and satellite health. The device of the presentinvention has the capability to call or transmit important informationsuch as location, speed, identity, and medical parameters to a stationautomatically or when polled. All necessary analog and digitalcircuitry, (D)GPS hardware, microprocessor, programming, andcommunications hardware are fully integrated into a small device.

SUMMARY

Position and proximity detection systems and methods are disclosed.According to an aspect, a computing device may include a processorconfigured to determine a position coordinate of a first movable device.Further, the processor is configured to determine whether the positioncoordinate of the first movable device is a predetermined distance froma second movable device. The processor is also configured to signal thesecond movable device in response to determining that the positioncoordinate of the first movable device is a predetermined distance froma second movable device.

BRIEF DESCRIPTION OF THE DRAWINGS

Exemplary embodiments of the invention will now be explained withreference to the accompanying drawings, of which:

FIGS. 1-1C are schematic views of exemplary environments for utilizingthe device of the present invention;

FIG. 2 is a perspective view of a device according to an embodiment ofthe present invention;

FIGS. 3 and 4 are schematics of components for use with the presentinvention;

FIG. 5 is a perspective view of a base station according to anembodiment of the present invention;

FIG. 6 is a perspective view of different objects for utilizing a deviceof the present invention;

FIGS. 7, 8 and 9 are schematic views of components of the presentinvention;

FIG. 10 is a chart of phases included in the embedded software of thepresent invention;

FIG. 11 is a flow chart of the training phase of the present invention;

FIG. 12 is a flow chart of the implementation phase of the presentinvention;

FIG. 13 is a schematic diagram of connections between various componentsof the present invention;

FIGS. 14A-15C are schematic diagrams of exemplary training laps;

FIG. 16 is a schematic diagram of a perimeter and a subject; and

FIGS. 17 and 18 are schematic diagrams of geometric formulas fordetermining the distance to a perimeter.

DETAILED DESCRIPTION

The present invention will now be described more fully hereinafter withreference to the accompanying drawings, in which the preferredembodiments of the invention are shown. This invention may be embodiedin many different forms and should not be construed as limited to theembodiments set forth herein; rather, these embodiments are provided sothat this disclosure will be thorough and complete, and fully convey thescope of the invention to those skilled in the art.

Referring to FIG. 1, a schematic view of the environment for utilizingthe device of the present invention is illustrated. In thisconfiguration, the module is used to keep a pet inside a definedboundary. Note that there are many embodiments that this programmabledevice will apply. Just a few examples are listed in FIGS. 6A through6E, described below. In each example, the boundary volume is definedwith safe zones 11, unsafe zones 12, soft zones, dynamic zones 101, andhysteresis zones 21. The dynamic zones could represent moving aircrafton the ground or in the air. Similar systems such as TCAS operate offaircraft transponders and are disabled near the ground.

This invention is applicable in the air or on the ground. In theseexamples, two way communications collar 1 to another collar 1, or collarto base 16 are established, and specific algorithms are incorporated tonotify a station when a subject has crossed a boundary, or to apply acorrective or warning signal. Subjects can be included in a boundary,excluded in a boundary, the union of multiple boundaries can bearranged.

In one embodiment, the collar can contain a module 106 shown in FIG. 3manufactured by μ-BLOX™ in Zurich, Switzerland. The GPS-MS1E-AT is afully self-contained receiver module based on the SiRFstar™ chip setwith a Hitachi risk microprocessor. For development, an evaluation kitsuch as the μ-blox can be purchased GPS-MS1E-SCK with a Hitachi™ Ccompiler, which was included in the customization kit. This systemcontains all the command sets necessary to modify the μ-BLOX™programming codes for a particular task. The μ-BLOX™ MS1E-AT also hasthe capability to transmit the module coordinates through its AT commandset. Not limiting this invention to a particular method of transmitting,the AT system in communication with, but not limited to, a GSM typemodem as one such method to real time track the position of an animal,person, or thing with the ability to immediately locate the subject. Inthis mode, the subject's location can be found in the specifiedboundary, when it crosses a boundary, or when it is polled to report alocation. The subject can also request poll in particular uses such asillustrated in FIG. 6E, described below. Here, a patient can activatethe collar for requested assistance. For hunting dogs, it may not benecessary to use the one or both alarms, and the position and velocityof the animal could be polled any time. By using velocity andacceleration vectors, position estimates can be calculated. Antenna 3 iscurrently an active microstrip antenna. However, it could be a passiveantenna or an antenna loop embedded in the collar of the animal orstructure.

There are many ways to program the GPS module. For instance, in onemethod, a laptop or other portable computer system known to those ofskill in the art can plug into collar port 7. In this mode, the laptopcan download the coordinates from the boundary into the collar where thecoordinates can be stored in a memory. In another method, thecoordinates could be manually entered and loaded into the collar throughport 7. In another embodiment, a mapping extracted from a web-basedapplication such as the GIS system could be used to downloadthree-dimensional coordinates, and the collar 7 would then specify thevolume of interest and store the data.

In a preferred embodiment of training, the microprocessor in the collarcan handle all the calculations. In this preferred embodiment, thecollar is placed on the pet and the pet would walk around the boundary.During this walk, the collar can read the location coordinates and storethe coordinates in the proper memory slot in the onboard computer. Theembedded software then stores and maps the boundary during this“training phase”. In the operational phase, the embedded processor readsthe 3-D coordinates, compares these real-time coordinates to theboundary or surface, and sounds a plurality of alarms when the subjectapproaches the boundary.

The embedded processor can also analyze the site to make sure that thereception is satisfactory for use. In the event that a weak signal wasdetected, steps could be undertaken to solve the problem. In one design,“SignalView” program could simply incorporate the use of an output pin110, 111 on the GPS-MS1E of FIG. 3. This pin detects faulty satelliteoperation and can idle the system until good satellite data is observed.The MS1E like many systems has a “trickle power” feature. In the eventthat the animal is asleep, and no movement is detected, the GPS modulewould also go to sleep to conserve power. Upon detecting animalmovement, the processor would become more active.

For enhanced operation, this system is DGPS ready. In this example, RFcommunications can transmit the coordinates of a base station in RTCMSC-104 format to the port on the collar.

In the operation phase, a coordinate is read from the satellites. Next,the software compares the coordinate to the list stored during thetraining phase, and finds the closest queue point. Then, through 3-Dtriangulation, the μ-BLOX GPS-MS1E decides if the subject is withinbounds. In the event that the subject ventures out of bounds, the systemwill have the ability to report to a base station the coordinates of themodule and take evasive action.

The base station shown in FIG. 5, described in more detail below, isused for two-way communication between the collar and a base camp. Thisstation can be a cell phone with the proper programming. The station canalso be used as stationary differential GPS correction device since thelocation of the station will be precisely known. In this mode, any errorin the received GPS signals are passed along the collar when operated inthe differential mode. Alternatively, the Nationwide Differential GPSservice can allow differential mode to be incorporated in the operationof the collar without a plurality of receivers.

A fully integrated (D)GPS electronic boundary proximity system shown inFIG. 1 is provided for animals, objects, for tracking movement,reporting coordinates, and taking evasive action relative to a selectedcontainment volume. As shown FIGS. 1 b and 1 c, the main boundary 9 canbe three dimensions. Attached to each animal 6E is a fully integrated(D)GPS collar 1, and surrounding the pet is a volume 101 referred to asthe “object space”. The object space 101 can be uniquely defined by avector V 102 representing the object space as a point. Satellites 103transmit and receive signals from collar 1 and possibly a base or mobilestation 16. In this invention, collar 1 processes the informationreceived from satellites 103 to detect a boundary space 105 defined by amultiple of areas such as 9, 10, corridor 11, exclusion zones 12, softzones 21, and exterior zones 14. All areas can be represented by linesfor two-dimensional representation, or surfaces for volumetricrepresentations as indicated in FIG. 1. Two-way communications antennas9 are included on collars 1 and the base station 16.

Referring to FIG. 2, an illustration of a collar 1 for defining acontainment volume is illustrated. The collar receives (D)GPS signalsfrom satellites 103 and processes the raw data into x,y,z positioncoordinates. The collar system consists of an attachment device such asa leather band 1, an electronic module 2, a GPS antenna 3, acommunication antenna 9, a digital port 7, wiring 8, a correctionstimulating device 4, high voltage prongs 6 and an audible signalgenerator 5. Both communication antenna 9 and GPS antenna 3 can beintegrated into a single antenna for consolidation purposes. Antenna 9is operable to provide a two-way data link. A single antenna can servethe purpose of both the GPS and communications network. Conductingprongs 6 are powered by a watch battery and the necessary high voltagecircuitry for delivering an electrical shock. Port 7 is a computer portfor allowing communication with the GPS module to download coordinatesor uploading data from the GPS-MS1E-AT-DL datalogger. Wire 8 isnecessary to electrically connect the electronic module with the GPSmodule and contains power and a signal to switch the alarms on and off.The collar is attached to an object such as an aircraft, or a pet asindicated in FIGS. 6A E.

Referring to FIGS. 3 and 4, different schematic views of a (D)GPSmodule, generally designated 106, are illustrated. The collar can bebased on many manufactures of GPS electronic parts. FIGS. 3A 3Billustrate one such system: a GPS-MS1E-AT manufactured by μ-blox. Module106 contains a microprocessor 107, memory 108, RF section 109, a GPSantenna 3, eight IO ports 110 such as RS232 or USB, and two GPIO ports111. Alternatively, ports 111 can be linked by any standard method suchas cable, infrared, wireless serial or parallel. In the preferredembodiment, all electronics are integrated into the collar as shown inFIGS. 7, 8, and 9. In this example, the (D)GPS 106, communicationsmodule 107, correction 4, and supporting electronics 108 modules havebeen integrated into a single package 2 (shown in FIG. 2). The E1contains all necessary electronics to build a “large area proximitydetector with alarms”. After programming chip 106, it is placed in theportable application device or collar 1. The programmer is housed in theE1 box, which module 106 is inserted. By utilizing the input/output pinsinside the programmer, attaching the antenna and communicating throughthe ports, this device can be realized.

By adding an antenna, a battery, and downloading the code to the module,boundary identification can begin. GPS chip 106 is slightly larger thana postage stamp and in particular is 30.2 mm.times.29.5 mm.times.7.55 mmand is positioned into a standard 84 pin PLCC.

Referring to FIG. 7, a schematic diagram of a communications module isillustrated. Communications module 107 can be based on any wirelessmethod of communication. Several such limited examples such as CDMA,TDMA, FDMA are well known to one skilled in the art. In one embodiment,GSM techniques could be incorporated using off the shelf parts. Forintegration with the u-blox system, one embodiment would require a GPSreceiver (GPS-MSIE-AT), a GSM modem supporting AT interface (GSM07.05,07.07) and a controller. The controller reads positions from theGPS receiver and controls the on board digital modem.

u-Blox offers an integrated control system for GSM modems with the ATcommand interface for GPS receivers. This system is designed forautonomous operation. An external controller is not required, however,it can be used for enhanced functionality. An external controller maycommunicate with the GPS receiver via a serial port with the SiRF binaryprotocol. The GSM modem is controlled through the GPS receiver. Theantenna input can be connected to the GPS-MS1E to receive signals.

In this example, the advantages of integrating with GSM Control Softwareare: fully compatible to standard μ-blox GPS receivers; configurationthrough the serial interface; designed for autonomous operation; minimalexternal circuitry; and no external controller required.

An external controller may communicate with the GPS receiver via aserial port with the SiRF binary protocol. The GSM modem is connected tothe other serial port and is controlled through the GPS receiver.

The GSM controller is event driven. For each event an action and thedata transmitted can be defined. Events (triggers) may be the output ofthe GPS engine (position, time) or an external signal. If the conditionsfor a trigger are met, the assigned action will be performed. Thisassignment is set during the configuration of the GSM controller. Atrigger is assigned to each event, for example,

ID. Event/Trigger Condition Parameters Range 04 Movement The distance tothe last Distance [m] 0-320000 m position is above the adjusted value.

Action can be assigned to the different events. Any action consists ofone out of four possible phone number and the data, which will be sent.For example,

ID. Action Description Remark 01 Data SMS Send a Short Message 8 bitdata SMS in PDU Mode

When the base station (TX) sends a signal and requests the coordinatesof the GPS-MS1E-AT(RX), events are triggered, the GSM controller will betriggered based on the events. For each event an action and the datatransmitted can be defined. Events may be the output of the GPS engine(position, time) or an external signal. If the conditions for a triggerare met, the assigned action will be performed. The GSM controller cancontrol the sending of the AT commands through the configurationprotocol. Only SiRF binary protocol can be used to control the ATcommand Firmware. The AT commands will then be sent from the GSMcontroller to initiate the modem. The control and communication with theAT command firmware is performed using the serial interface.

Referring to FIG. 13, a schematic diagram of the connections betweenvarious components of the present invention. To transmit the coordinatesback to the base station, action can be triggered by the use of the ATFirmware. GPS-MS1E-AT communicates with a GSM modem via the AT-standard(GSM 07.05, 07.07). Firstly, the action RX turns on the GPS modem, thatmeans sending the action RX to the modem awakes the modem and enables itto receive calls or SMS. The action Data Call then opens a dataconnection to a host. There are two modes used for data calls. In datamode you can send the same requests to the module as in SMS, a requestalso has to be sent at least every 30 s to keep the connection alive. Inonline mode you will have to answer “sense” messages to keep theconnection up. If a data connection the AT-Firmware enters data mode.Data will eventually be transferred back to the requested host by theconfiguration protocols, which the AT-Firmware uses to communicate withhosts.

Connection to the GSM Modem

The GPS receiver does only have to be connected to the serial port ofthe GSM modem. Some GSM modems support an external pin to switch themodem on. For modem with support of this function, we recommend toconnect this pin. This allows the controller to restart the modem incase of problems. For example,

Modem line MS1E Modem line Modem line Wavecorn pin name Signal NameSiemens M20 Falcorn A2D WMOD2D TX0 Modem RX USCRX DATA_RX2 RX

Before a modem can be used with the AT option, the modem has to beconfigured. A PC with a serial port and a terminal program is needed todo this. First, the modem has to be connected to a serial port of the PCand the terminal program has to be opened on that serial port. Normallyafter applying power, a switch on signal has to be generated to turn onthe modem. Sending AT<CR> should cause the modem to answer withOK<CR><LF>. If strange characters are returned the baud rate of theserial port is wrong. If nothing is returned, the serial connection maybe broken or the modem is not on. There are external wires that must beconnected to the modem. If we want to use a mobile phone with ATinterface, you probably do not have access to the on/off reset signal.If we do not connect the on/off and reset lines(not recommended), wehave to activate no power up mode in the configuration.

The command set used by the Hayes Smartmodem 300™, as well as mostmodems today (with a few advanced commands), is known by those of skillin the art as the AT command set. AT stands for attention, and precedesall (with the exception of A/) commands directed to the modem. Forexample, when dialing, it is necessary for either the software or theuser to issue an ATDT or ATDP command followed by the number and enters.AT tells the modem that it is about to receive a command. DT tells it todial by tone, while DP tells it to pulse dial.

Finally, the modem dials the number given to it after the command.Different modems do have slightly different command sets, but generallymost modems follow the Hayes standard.

EXAMPLES

% Cn—Enable/Disable Data Compression

% En—Auto-Retrain control

&Cn—DCD Control

&Dn—DTR Option

&Fn—Recall Factory Profile

Referring to FIG. 5, a perspective view of a base/mobile station 16 isillustrated. Base/mobile station 16 contains a readout screen 19, acommunications antenna 17 and all the necessary hardware to communicatewith collar 1 (not shown). Readout screen 19 can be an LCD in order toread and map the coordinates when the collar is polled and for anydiagnostics needed on the base station. Station 16 can be a stand-aloneunit or a wireless phone with location capabilities and of the new 3-Gdesign. The capability to reprogram individual collars in the field andmanage a heard is built into the station. However, each collar cancommunicate with other collars eliminating the need for exteriormanagement. In one embodiment, the base station can be used as adifferential station whereby it would include a GPS module 106 (notshown). Here using standard differential methods, corrections could bepassed to collar 1 through antenna 17. The base station could also beused to download new boundary coordinates to a subject 20 wearing collar1. This would be especially useful in military operations to adjustfront line boarders, or send coordinates of dangerous areas such as minefields.

In one embodiment, the correction module 4 is in communication with boththe GPS chip 106 and communications hardware 107. For pet containment,and livestock control, the correction hardware consists of an audibledevice 5 and/or a behavior modification device such as a high voltagestimulus 6. Referring to FIG. 9, a schematic diagram of a typicalcorrection device is illustrated. The correction device can be a highvoltage circuit for delivering an electrical shock to an animal, such asa pet. LM 317 adjusts the intensity of the shock supplying a pulsarbased on the LM 555 timer necessary to excite transformer 116, and 114is a MOSFET switch for isolation. When the MS1E detects that a subjectis dangerously close to a boundary, it will activate an IO line 110internal in 106 and after signal conditioning, will transmit through 8 acorrection signal. This signal could be audible as in 5, or a shock suchas 6. In the event that the correction hardware was to take control of asituation, the feedback control data link 116 (shown in FIG. 8) wouldupload or transmit any signals necessary external to the module 106.

In the training phase, collar 1 has the capability to define a volume asin FIG. 1 b, 1 c while in the implementation phase, collar 1 cancommunicate to a base station 16 or to another collar 1. Thisinformation may consist of an exchange in coordinates, change incoordinates, rates of change of coordinates, or information such asidentity and physiological parameters of the object. With this system,each object 20 can be defined as a volume .DELTA.V 101 and have itscentroid coordinates 102 passed from collar 1 to collar 1 or to astation such as 16 (shown in FIG. 1). The coordinates may be transmittedcontinuously, non-continuously, or when polled by another collar 1 orthe base station 16.

The operating system consists of training phase, and a running phase,means of communication and computation all integrated in into a portablepackage. Although a mobile or base station is not required for basicoperation, it can be used in this embodiment.

In the preferred embodiment, collar 1 is worn by a pet and accepts GPSsignals through antenna 3 and processes them through RF section 108.These signals are digitized to produce location coordinates, which arestored in memory 108. A computer program also stored in memory 108 hasthe ability to operate on these coordinates as a function of time andspace. A flow chart for this program is shown in FIG. 10-12 anddescribed in more detail below.

All analog and digital support electronics are also placed insideelectronic module 2 as indicated in FIGS. 2 & 8. This section alsocontains analog and digital electronics batteries, necessary to supportthe communications section of electronic module 2, power any antennas aswell known by one skilled in the electronics area.

Regular GPS receivers, when first switched on, can take several minutesto find four satellites, which isn't acceptable for location-basedservices. (A cell phone's battery would be drained too quickly if itkept the GPS receiver on all the time.) Instead, most will use asolution called Assisted GPS, which also keeps an active GPS receiver atevery base station. This broadcasts the precise time eliminating theneed for a fourth satellite-and tells the phone where to look for theother three satellites.

Assisted GPS is particularly useful in Code Division Multiple Access(CDMA) networks, because all of their base stations already include GPSreceivers. (CDMA systems need to know the precise time forsynchronization purposes, and the GPS time signal provides the accuracyof an atomic clock at a much lower cost.) It also has two otherbenefits: the base stations act as a backup when satellites aren'tvisible, and it can be more accurate.

Most satellite systems require a clear line of sight between thesatellite and the receiver. The GPS signals are slightly moreresilient--they can pass through many windows and some walls—but theystill won't work deep inside a building or underground. Assisted GPS canfall back to base station triangulation in these situations, providingat least some information whenever a user is able to make a call.

Qualcomm Incorporated, pioneer and world leader of Code DivisionMultiple Access (CDMA) digital wireless technology, produces theRFR3300™, an RF-to-IF (radio frequency to intermediate frequency)front-end receiver designed for cellular, personal communicationsservice (PCS) and Global Positioning System (GPS) signal processing. TheRFR3300™ device is the first in the CDMA industry to integrate GPScapability with a CDMA front-end receiver.

The RFR3300™ device is silicon germanium (SiGe) BiMOS radio frequencyintegrated circuit (RFIC) that provides high linearity with very lowpower consumption. The advanced integration of a GPS receiver into aCDMA/AMPS receiver eliminates the need to add an extra stand-alone GPSRF receiver. Together with Qualcomm's MSM3300 Mobile Station Modem(MSM)™ chipset and IFR3300 baseband receiver, the RFR3300™ device offersthe cost-effective and high-performance solution for dual-band (PCS CDMAand AMPS) or tri-mode (cellular CDMA, AMPS, and PCS CDMA) phones withQualcomm's gpsOne™ position location technology. The gpsOne solutionoffers robust data availability under challenging conditions, such as inconcrete-and-steel high-rises, convention centers, shopping malls orurban canyons.

Qualcomm's RFR3300™ device integrates dual-band low noise amplifiers(LNAs) and mixers for downconverting from RF to CDMA and FM IF, andcontains a dedicated LNA and mixer designed for downconverting globalpositioning system (GPS) signals from RF to IF. The RFR3300™ receiveroperates in the 832 MHz 894 MHz cellular band, 1840 MHz-1990 MHz PCSband and 1575 MHz GPS band. The RFR3300™ device meets cascaded NoiseFigure (NF) and Third-Order Input Intercept Point (IIP3) requirements ofIS-98 and JSTD-018 for sensitivity, and two-tone intermodulation. TheRFR3300™ solution was also designed to meet the sensitivity requirementsof gpsOne™.

The cellular LNA in the RFR3300™ device offers gain control capabilityfor improving dynamic range and performance in the presence of highlevels of interference. Reducing the gain in the LNA also improves powerconsumption. Band selection and gain modes are controlled directly fromthe MSM3300™ chip. The RFR3300™ device is designed for use with voltageranges from 2.7V to 3.15V, and is available in a 5 millimeter by 5millimeter 32-pin BCC++ plastic package.

The MSM3300™ chipset is comprised of the MSM3300™ CDMA modem, RFT3100™analog-baseband-to-RF upconverter, IFR3300™ IF-to-basebanddownconverter, RFR3300™ RF-to-IF downconverter—the first front-endreceiver in the industry to incorporate GPS capabilities in a CDMAchipset—PA3300™ power amplifier, PM 1000™ power management device andthe SURF3300™ development platform. QCT's gpsOne™ technology isintegrated on the MSM3300™ chip, which provides all of the positionlocation capabilities without the need for additional chips, reducingboard space and potential size of the handsets. QCT's gpsOne™ solution,featuring SnapTrack™ technology, offers robust data availability underthe most challenging conditions, whether in concrete-and-steelhigh-rises, convention centers, shopping malls or urban canyons. Using ahybrid approach that utilizes signals from both the GPS satelliteconstellation and from CDMA cell sites, the gpsOne solution enhanceslocation services availability, accelerates the location determinationprocess and provides better accuracy for callers, whether duringemergency situations or while using GPS-enabled commercial applications.The gpsOne™ solution deployed by KDDI is supported by SnapTrack'sSnapSmart™ location server software, which provides the core positioncalculation function for KDDI's eznavigation service. Additionalinformation regarding the MSM3300™ chipset can be found at URL:

http://www.cdmatech.com/solutions/pdf/msm3300generation.pdf; and

http://www.cdmatech.com/solutions/pdf/positionlocation.pdf, which areincorporated herein by reference.

There are many technologies available for the communication as well asthe GPS location electronics. For instance, the Qualcomm MSM3300 chipsethas communications and location capability all in a single chipset. Thissystem is based on (WA)GPS or “hybrid positioning” incorporating bothcell phones and GPS. In another embodiment, “Bluetooth” could be usedfor communication for short range applications, less than 100 m. Theprotocol for the communications system is also standard and could relyon Global System for Mobile Communications (GSM), Time Division MultipleAccess (TDMA), Code Division Multiple Access (CDMA), Frequency DivisionMultiple Access (FDMA), or other suitable protocols known to those ofskill in the art.

The training phase of the software involves data collection, anglecalculation and finally, storage of “essential” boundary points. Tolearn the boundary of an area, the user will walk around that boundarywith the device. As the user walks around the desired boundary, themodule records the current position. The training algorithm takes thesepoints and, using simple geometrical equations, decides which of themconstitutes a turning point, or sharp angle, in the boundary path. Theseangle points (or “essential” points) are then stored in an array thatcan be used to effectively, reconstruct the boundary path. This isaccomplished by connecting each set of adjacent points through standardlinear or polynomial methods. Boundaries within a boundary and 3-Dsystems are possible.

Upon completing the boundary by returning to the home position (thefirst stored point in the boundary array) the device automaticallyswitches to the running phase. In this phase the device recalculates itscurrent position. Using this position, it calculates the distance fromeach “wall” section of the boundary. Using the shortest distance found,it determines whether it is within a warning or error distance from theboundary. Based on this result it returns the appropriate output throughthe general I/O pins of the module.

Software

Referring to FIG. 10, a chart of phases included in the embeddedsoftware of the present invention is illustrated. The embedded softwareconsists of three phases: a training phase (shown in FIG. 11), animplementation phase (shown in FIG. 12), and a communication phase.Referring now to FIGS. 1, 2, and 6, in a preferred embodiment, collar 1is all that is needed to define a boundary or volume. Collar 1 is simplywalked around the boundary 105 in a manner such that the coordinates arereceived from satellites 103, stored in the onboard computer in 106. Inthis example, the coordinates are read from the satellite and stored inthe collar 1 each second. It initiates the training phase, the userbegins at a “home point” which is arbitrary and the training phase isinitiated. This initiation could start by activating an internal switchin collar 1, or by activating a soft switch using port 7 on the collar.For example, the 3 coherent light pulses directed into port 7 could actas a software switch to begin the training mode, and 3 long pulses and 3short pulses could be used to activate a diagnostics mode. Using thewindow soft switch will allow designs more robust to the outsideenvironment.

FIG. 11 is a limiting example of the flow programmed into collar 1. Inthis example, collar 1 is initiated into the training phase using softswitch 7, 7 b. At this point, the home coordinates are recorded andcollar 7 begins collecting x,y,z coordinates and comparing them toprevious coordinates. If the coordinates have not changed, the programignores, but continues to receive coordinates. Here, each coordinate iscompared to a multiple of coordinates stored in the queue. If the anglebetween the new coordinate and the set of points in queue 204 is greaterthan some previously defined angle such as 150 degrees, the coordinateis stored and the collar continues to process a new point. In the eventthat the coordinate is found to be close to the home coordinate, thecollar automatically stops the process and identifies the boundary asboundary 1.

If more boundaries are to be defined, the user activates the soft switch7 using 7 b, the counter is incremented and the new boundary is definedin the same method as the primary boundary.

For complicated boundary examples such as the union of 9, 10, 11, 12 asin FIG. 1, the user could begin by defining 9, first, then defining 10,11, and then the internal boundaries 12. Each area is defined as aseparate region. The program would then assume that all external areassuch as 9, 11, and 10 were secure zones, while all interior areas suchas 12 were hazard zones. Optionally, each area could be definedindependently using the programming wand 7 b to identify areas 9, 10,11, and 12 as a hazard zone or a secure zone, whereby each type of zonewould have independent codes.

Three-dimensional volumes as illustrated in FIG. 1C are programmed inmuch the same way. In one embodiment, an area 117 is programmed intocollar 1, then again over another area 118 at a different altitude or zcomponent. The software would then assign a secure/unsecure area to thevolume defined between the two areas. FIGS. 1 b and 1 c is anillustration of a three dimensional volume defined by this method.Parametric equations could also be incorporated to define surfaces.Conversely, the secure area could be outside of this defined area asopposed to the interior of it. Here, aircraft would be alerted that theywere approaching a hazard space, and the correction hardware would warnthe pilots or automatically take control by the feedback system 116. 3-Dvolumes would also have the ability to form the union of two spaces,allow corridors between spaces, and allow the definition of interiorvolumes within a volume. For terrestrial 3-D mapping, the collar 1 couldsimply be walked around an area such as 105 in FIG. 1, and then walkedaround upstairs 119 in the house as shown in FIG. 1. Here, the securezone could be defined as certain areas upstairs 119, and the definedarea 105. Anything not defined within a volume could default to either asecure or a hazard zone.

In another embodiment, an aircraft could fly a pattern at a firstaltitude, and again fly an altitude at a second altitude, and the collar1 would define the 3-D volume between these two patterns as a secure orhazard zone. Then, other volumes could be defined interior or exteriorto the primary volume, corridors attached, and a space for safe flyingis thus defined.

In still another embodiment of the present invention, the coordinatescould be downloaded in collar 1 using port 7. In this example,coordinates could be keyed into a device such as a PDA, laptop, orbase/mobile station shown in FIG. 5, and through the communicationsoftware downloaded by radio through antenna 17. In this manner, space105 is dynamic and fully programmable and addressable to each collar 1.

FIG. 5 illustrates the base/mobile station. Device 16 contains amicroprocessor, a display, communication module 17, and a GPS module 18.In one example, the base/mobile station could be used for a differentialstation where the coordinates are precisely known. By reading itsposition from satellites 103, any error correction can be passed tocollar 1 for enhanced accuracy. Display 19 could simply be a LCD thatshows the parameters such as location, speed and diagnostics, or itcould display the 3-D airspace and the proximity of an object to thisdisplay. Using the display, a collar programmer can see the definedspace, and check for errors before downloading the boundary coordinatesto collar 1.

Implementation Phase:

When the collar has detected that the training phase has been completed,it switches to the run mode. In this mode, when subject 20 surrounded byan object volume 101 (see FIG. 1) approaches the boundary 105, a seriesof corrective actions take place. For instance, when object 20 is 2meters from boundary 105 I/O a line in 110 goes high and an audiblesignal 5 is produced. When the object is 1 meter from the boundary, asecond I/O line goes high, and a more serious correction signal such asa shock takes place. Simultaneously, the communications softwareinitiates a call from 20 and through port 9 sends the location data tobase station 16.

Predictions of position can also be calculated by collar 1 using thevelocity 102 and acceleration vectors. Here, if the subject is fastapproaching the boundary 105, the digitally controlled correction signalamplitude and rate can be increased.

The present invention has the capability to define an object space 101around each subject such as 20. In this example, each collar 1 is incontinuous communication with a plurality of collars and the basestation. In a limiting example, the communication data containsparameters such as location, speed, identity, and physical parameters ofthe subjects 20. When two subjects are found to be close to one another,the correction software warns each subject, and possibly the basestation 16.

Each boundary 105 has a hysteresis zone adjacent to the boundary 105 orspace 101. The purpose of a hysteresis zone is much like any feedbackcontrol system. This spacial zone is used to dampen the action ofcorrection based on upgoing and downscale going of the measured variablesuch as location. In effect, it will keep any oscillation of thecorrection signals produced by 20 as is well known by control engineers.

If for example, the object breaches the secure zone, the embeddedsoftware in collar 1 will call the base/mobile station and alert theauthorities, and after several attempts of corrective action will cease.In this manner, an escaped or lost pet such as 20 can continue to tryand find home without penalty.

With the means and methods set forth herein of this invention, thefollowing limited example of collar 1 programming is discussed.

Queue

The queue holds all the critical points, which will be used during theimplementation phase. The training phase only determines the criticalcoordinates and stores these coordinates in the queue. The X, Y, Zcoordinate of each critical point is stored within one node on thequeue. The first training lap uses these three points:

1. Last coordinate stored in queue,

2. Previous coordinate,

3. Current coordinate.

In essence, from the last stored coordinate the invention waits for 2more acquisitions before starting to determine the sharp angle. Thisequation is a distance formula Dist²=X²+Y² and the inverse cosinefunction. The second lap around the boundary secures parametershapeliness using time sampling.

A simple height or Z dependence is also possible. Here, the height atthe home position is one height stored. Then in the running phase, itsimply checks if the current height is within the correction or warningdistance from the ceiling or floor heights. This algorithm that could beused inside a structure such as a home. If the animal is allowed to beon the first floor, then the height could be used to keep the animalfrom venturing to the second floor. Also, using the corridor algorithm,the animal could be allowed to transverse up the stairs to a particularroom, but be excluded from others. Conversely, it could be allowed tovisit a neighbor, but only through a certain “path”.

Referring to FIG. 14A-14C, schematic diagrams of training laps for arectangular shaped perimeter are illustrated. Once a coordinate isacquired, the angle between that coordinate and the last acquiredcoordinate is calculated and if it is less than our threshold angle (151degrees) that coordinate is stored in the queue.

Referring to FIGS. 15A-15C, schematic diagrams of training laps for acircular shaped perimeter are illustrated. Of course, the possibilityexists that our area perimeter is not a rectangle. For instance, if ourperimeter is a circle, we would end up with a few coordinates but notenough coordinates to get the correct shape of the boundary.

In order to avoid this problem, the invention includes a second lap inthe training phase that utilizes a time sample. During the first lap ofthe training phase, time is kept so that we know how long it takes tomake one lap around the perimeter. After breaking this time intointervals, we can know where to take additional samples. For example,with a rectangular area: \

Referring to FIG. 16, a schematic diagram of a perimeter and a subjectis illustrated. Once the boundary is stored in the collar 1, the deviceautomatically jumps to the run phase where coordinates from satellites103 are used to detect the position of subject 20. An example isprovided in FIG. 16.

Referring to FIG. 17, a schematic diagram of a geometric formula fordetermining the distance of a subject to a perimeter is illustrated. Inthe following calculations, triangulation is used to determine theanimal's distance to the boundary. If the subject is represented by thecoordinates (0, y0) in the basic geometric formula following, thedistance between (x0, y0) and (x2, y2) is given by:

Sine Function:Sin A=opp/hypSin A=X/cX=c*sin AX=wall distance

Referring to FIG. 18, a schematic diagram of a geometric formula fordetermining the distance of a subject to a perimeter is illustrated.When calculating the angles for the queue, the law of cosines is used tocalculate the angle A shown in FIG. 18 and in the following “Law ofCosine” equations. When this angle is greater than 151 degrees, thepoint is stored as a critical point for boundary purposes. Simplyconnecting the critical points then forms the boundary. Interpolationcan also be used to smooth a boundary.

Law of CosineA ² =b ² +c ²−(2bc*Cosine A)A=Inverse Cosine((b ² +c ² −a ²)/2bc)

There is no need to retrain the device after a power-off if you aregoing to be using the same boundary as last time the device was on. Itstores those boundary coordinates between power ups. However, if you doneed to retrain the module, you do this by holding down both the blackand red reset buttons at the same time for just a second while themodule is powered on. Once you release these buttons and begin walkingaround the new boundary, a new Training Phase will begin.

Many modifications and other embodiments of the invention will come tomind to those skilled in the art to which this invention pertains havingthe benefit of the teachings presented in the foregoing descriptions andthe associated drawings. Therefore, it is to be understood that theinvention is not to be limited to the specific embodiments disclosed andthat modifications and other embodiments are intended to be includedwithin the scope of the claims. Although specific terms are employedherein, they are used in a generic and descriptive sense only and notfor purposes of limitation.

It will be understood that various details of the invention may bechanged without departing from the scope of the invention. Furthermore,the foregoing description is for the purpose of illustration only, andnot for the purpose of limitation--the invention being defined by theclaims.

What is claimed:
 1. A computing device comprising: a processor moduleconfigured to: receive identification information of a first movabledevice and a second movable device; receive, from one of a processormodule and the second movable device, an instruction to monitor aposition of the first movable device; in response to receiving theinstruction: determine a position of the first movable device; determinewhether the position of the first movable device is one of apredetermined location and distance from the second movable device; andcontrol communication with the second movable device in response todetermining that the position of the first movable device is the one ofthe predetermined location and distance from the second movable device.2. The computing device of claim 1, further comprising a communicationsmodule configured to receive the position from the first movable device.3. The computing device of claim 1, wherein the first movable device isa mobile phone.
 4. The computing device of claim 1, wherein theprocessor is configured to control a communications module tocommunicate with the second movable device for identifying the firstmovable device.
 5. The computing device of claim 1, wherein theprocessor is configured to control a communications module tocommunicate with the second movable device for identifying the firstmovable device in response to determining that the position of the firstmovable device is one of a predetermined location and distance from asecond movable device.
 6. The computing device of claim 1, wherein theprocessor is configured to control a communications module tocommunicate with the second movable device for identifying the positionof the first movable device in response to determining that the positionof the first movable device is one of a predetermined location anddistance from a second movable device.
 7. The computing device of claim1, wherein the processor module is configured to: determine one of alocation and a distance between the first movable device and a computingdevice; and use the one of the location and the determined distance todetermine whether the position of the first movable device is thepredetermined distance from the second movable device.
 8. The computingdevice of claim 1, wherein the position is a first position, and whereinthe processor is configured to receive a second position of the movabledevice.
 9. The computing device of claim 8, wherein the position definesone of an area, zone, point, space, and location, and wherein theprocessor module is configured to receive identification of the secondmovable device when the second movable device is within a predeterminedarea, zone, point, space, location, or distance of the first movabledevice.
 10. The computing device of claim 1, wherein the processormodule is configured to control communication of a notification to thesecond movable device that the first movable device is one of thepredetermined location and distance from the second movable device in inresponse to determining that the position of the first movable device isone of a location and a predetermined distance from a second movabledevice.
 11. The computing device of claim 1, wherein the positiondefines one of an area, zone, point, space, and location.
 12. A methodcomprising: receiving identification information of a first movabledevice and a second movable device; receiving, from one of a processormodule and the second movable device, an instruction to monitor aposition of the first movable device; in response to receiving theinstruction: determining a position of the first movable device;determining whether the position of the first movable device is one of apredetermined location and distance from the second movable device; andcommunicating with the second movable device in response to determiningthat the position of the first movable device is the one of thepredetermined location and distance from the second movable device. 13.The method of claim 12, further comprising receiving the position fromthe first movable device.
 14. The method of claim 12, wherein the firstmovable device is a mobile phone.
 15. The method of claim 12, furthercomprising communicating with the second movable device for identifyingthe first movable device.
 16. The method of claim 12, further comprisingcommunicating with the second movable device for identifying the firstmovable device in response to determining that the position of the firstmovable device is one of a predetermined location and distance from asecond movable device.
 17. The method of claim 12, further comprisingcommunicating with the second movable device for identifying theposition of the first movable device in response to determining that theposition of the first movable device is one of a predetermined locationand distance from a second movable device.
 18. The method of claim 12,further comprising: determining one of a predetermined location anddistance between the first movable device and a computing device; andusing the determined one of the predetermined location and distance todetermine whether the position of the first movable device is the one ofthe predetermined location and distance from the second movable device.19. The method of claim 12, wherein the position is a first position,and wherein the method further comprises receiving a second position ofthe second movable device.
 20. The method of claim 19, furthercomprising receiving identification of the second movable device whenthe second movable device is within one of a predetermined distance andlocation of the first movable device.
 21. The computing device of claim19, wherein the second position is a location.
 22. The method of claim12, further comprising communicating a notification to the secondmovable device that the first movable device is one of a predeterminedlocation and distance from the second movable device in response todetermining that the position of the first movable device is apredetermined distance from a second movable device.
 23. The computingdevice of claim 12, wherein the position defines one of an area, zone,point, space, and location.
 24. A computing device comprising: a memoryconfigured to associate a plurality of predefined events with aplurality of predefined actions, wherein one of the predefined events ispredefined movement; and a processor module configured to: receiveidentification information of one of a first movable device and a secondmovable device; receive, instruction to monitor a position of the firstor second movable devices; in response to receiving the instruction:determine whether movement of the first or second movable device meetsthe predefined movement; and control implementation of a predefinedaction associated with the one of the events in response to determiningthat movement of the one of the first and second movable devices meetsthe predefined movement.
 25. The computing device of claim 24, whereinthe one of the predefined events is positioning of the first or secondmovable devices at a predetermined distance from a predefined position,area, zone, location, or place, and wherein the processor module isconfigured to: determine whether an actual position of the first orsecond movable device is the predetermined distance from the predefinedposition; and control implementation of the predefined action inresponse to determining that the actual position of the first or secondmovable device is the predetermined distance, zone, area, place orlocation from the predefined position.
 26. The computing device of claim24, wherein the predefined action includes communicating a message toanother computing device.
 27. The computing device of claim 24, whereinthe predefined action includes using a text messaging service tocommunicate a message to another computing device.
 28. The computingdevice of claim 24, wherein the predefined action includes calling apredefined telephone number, communicating a message to anothercomputing device, using a text messaging service to communicate amessage to another computing device, calling a predefined telephonenumber, and sending an email.
 29. The computing device of claim 1 or 24,wherein the processor module is configured to locate the first movabledevice based on one of a radio frequency signal and triangulation. 30.The computing device of claim 29, wherein the radio frequency signal iswithin a short range.
 31. The computing device of claim 29, wherein theradio frequency signal is a Bluetooth signal.
 32. The computing deviceof claim 24, wherein the position defines one of an area, zone, point,space, and location.
 33. A method comprising: associating a plurality ofpredefined events with a plurality of predefined actions, wherein one ofthe predefined events is predefined movement; receiving identificationinformation of a first movable device and a second movable device;receiving, from the second movable device, an instruction to monitor aposition of the first movable device; in response to receiving theinstruction: determining whether movement of the first movable devicemeets the predefined movement; and controlling implementation of apredefined action associated with the one of the events in response todetermining that movement of the first movable device meets thepredefined movement.
 34. The method of claim 33, wherein the one of thepredefined events is positioning of the first movable device at apredetermined location or distance from a predefined position, andwherein the method further comprises: determining whether an actualposition of the first movable device is one of the predeterminedlocation and distance from the predefined position; and controllingimplementation of the predefined action in response to determining thatthe actual position of the first movable device is one of thepredetermined location and distance from the predefined position. 35.The method of claim 33, wherein the predefined action includescommunicating a message to another computing device.
 36. The method ofclaim 33, wherein the predefined action includes using a text messagingservice to communicate a message to another computing device.
 37. Themethod of claim 33, wherein the predefined action includes calling apredefined telephone number.
 38. The computing device of claim 1, 12,24, or 33, wherein the computing device resides on a one of the firstmobile computing, the second computing device, another computing device,a host, and a server.
 39. The computing device of claim 1, 12, 24, or33, wherein the identification information is a digital address.
 40. Thecomputing device of claim 33, wherein the position defines one of anarea, zone, point, space, and location.